/*
	pta B1054
	题意：主要是要找出不合法的数。eg：aaa    1.2.3.3    9999    7.123也不是，因为它的小数点后面有三位，题目要求只能有两位
	重点看c.stra()函数的使用
*/

#include<bits/stdc++.h>
using namespace std;
bool check(string s){
	string temp=s;
	int k=0;
	if(temp[0]=='-'||temp[0]=='+') temp=temp.substr(1);
	for(int i=0;i<temp.size();i++){
		if(temp[i]=='.') k++;
		else if(temp[i]<'0'||temp[i]>'9') return false;
	}
	if(k>=2) return false;
	if(k){
		int l=temp.find('.');
		int len=temp.size()-1-l;
		if(len>2) return false;
	}
	double a=stod(s);
	if(a>=-1000.0&&a<=1000.0) return true;
	else return false;
}
int main(){
	int cnt=0;
	double sum=0;
	int t;cin>>t;
	while(t--){
			string s;cin>>s;
			if(check(s)) cnt++,sum+=stod(s);
			else printf("ERROR: %s is not a legal number\n",s.c_str()); //!!!!!!!!
	} 
   	if(cnt>1)  printf("The average of %d numbers is %.2lf",cnt,sum/cnt);
    else if(cnt==1) printf("The average of %d number is %.2lf",cnt,sum/cnt);
	else printf("The average of 0 numbers is Undefined");
	return 0;

}
/*
	这道题运用的技巧有：
		1、如果把数字型的字符串转化为数字，有两种方法：①用stoi，只能转化为整数；②stod：可以转化为浮点数
			这两种方法都是将最多位合法的转化，123.45af --> 123.45 不合法的自动舍去
		2、c.str()函数的使用：
			本来应该是正常输出字符串s，但用的输出方法是printf，这是c语言里的输出方法，%s不能直接用于string类型的字符串
			所以输出时用 c.str() ,这个方法是将字符串转化为字符数组，其实输出的效果是一样的
*/
